const jwt = require("jsonwebtoken");



module.exports = function(req,res,next){
    let token = req.headers.authorization
    // 需要排除一些 路由，不做token校验
    // req.url : /login      /login?a=10&b=20;

    // req.url === /login?a=10&b=20
    // pathname : 1./login   2./login?a=10&b=20  ---> pathname  === /login
    // express req.path 
    if(req.path==="/login" || req.path==="/checkUser" || req.path==="/index"){
        // 放行 
        return next();
    }
    // console.log(req.headers);
    if(!token){
        // 没有token 那么直接返还 401 给错误提示 
        return res.status(401).json({info:"token不存在"});
    }else{
        // 有token ，校验token是否正确 ，如果正确返还数据，如果不正确返还403和错误提示；
        jwt.verify(token,"mysecret",(err,decoded)=>{
            console.log(decoded);
            if(err){
              return  res.status(403).json({info:"token不正确"});
            }else{
                // console.log(111);
                // res.json([{name:"张三",age:20},{name:"李四",age:21}])
                next();
            }
        })
    }



}